<?php
/**
 * News_News
 * Класс для работы с новостями.
 * 
 *  
 * @author Русин Иван <ivanrsn@gmail.com>
 * @version 1.0
 */
class News_News{
    // контейнер для хранения одной новости (для редактирования)
    private $arrOneNews;
    
    static public function instance(){
      static $objNews;
      if (!isset($objNews)) {
        $objNews = new News_News();
      }
      return $objNews;
    }
  
    /**
     * Получение новости по ID
     *
     * @param int $id - id новости
     * @return arrOneNews
     */
    public function getOneNews($id) {  
        $objDB = Service_Database::instance();
        $sql = 'SELECT * FROM `'.DB_PREFIX.'news` WHERE id = '.$id;
        $this->arrOneNews = $objDB->selectOne($sql);
        return $this->arrOneNews;
    }

    /**
     * Получение списка новостей указанного типа, с установленным лимитом.
     *
     * @param int $id - id новости
     * @return arrOneNews
     */
    public function getNewsSortedByDater($type, $limit = 0) {
        $objDB = Service_Database::instance();
        $sql = 'SELECT id,type,date,lable,title FROM `'.DB_PREFIX.'news` WHERE type = '.$type.' ORDER BY dater';
        if ($limit) $sql .= ' LIMIT '.$limit;
        return $objDB->select($sql);
    }

    /**
     * Удаление новости по ID
     *
     * @param int $id - id новости
     * @return int кол-во удалённых строк, в этом методе максимум 1;
     */
    public function delOneNews($id) {
        $objDB = Service_Database::instance();
        return $objDB->delete(DB_PREFIX.'news', array('id' => $id));
    }
}
?>